C#文字转语音
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SpeechLib;
namespace 语音播报
{
public partial class Form1 : Form
{
private SpeechVoiceSpeakFlags _spFlags;
private SpVoice _voice;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
_voice = new SpVoice();
_spFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;
foreach (ISpeechObjectToken v in _voice.GetVoices()) {
comboBox3.Items.Add(v.GetDescription());
}
comboBox3.SelectedIndex = 0;
// _voice.Voice = _voice.GetVoices("", "").Item(comboBox2.SelectedIndex);
//_voice.Voice.GetDescription(comboBox2.SelectedIndex);
}
private void button1_Click(object sender, EventArgs e)
{
//if(_voice.Status.RunningState == SpeechRunState.SRSEIsSpeaking)
_voice.Rate = 0;
_voice.Speak(textBox1.Text, _spFlags);
}
/// <summary>
/// Stop
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
_voice.Speak(string.Empty, SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak);
}
private void Pause_Click(object sender, EventArgs e)
{
_voice.Pause();
}
private void Resume_Click(object sender, EventArgs e)
{
_voice.Resume();
}
private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
{
_voice.Voice = _voice.GetVoices().Item(comboBox3.SelectedIndex);
}
}
}
评论